<?php

namespace App\Trip\Plane\Interfaces\Result;

use App\Trip\Plane\PlaneInfo\FlightInfo;
use Illuminate\Contracts\Support\Arrayable;

interface ChangeFlightInfoInterface extends Arrayable
{
    public function getExtension(): array;

    public function getCabins(): array;

    /**
     * 改签申请的 change_key
     * @return string
     */
    public function getKey(): string;

    public function getCabin(): string;

    public function getCabinName();

    public function getFlightNo(): string;

    public function getDepartCode(): string;

    public function getArriveCode(): string;

    public function getDepartName($short = false): string;

    public function getArriveName($short = false): string;

    public function getFromTower(): string;

    public function getToTower(): string;

    public function getDepartNameUy($short = false): string;

    public function getArriveNameUy($short = false): string;

    public function getDepartAt(): string;

    public function getArriveAt(): string;


    public function getFlightInfo(): FlightInfo;

    public function isDeparted(): bool;
}